﻿
#ifndef _MONSTERSTATUS__
#define _MONSTERSTATUS__

class Monster; //类前向声明

//怪物状态类的父类
class MonsterStatus
{
public:
	virtual void Attacked(int power, Monster* mainobj) = 0;
	virtual ~MonsterStatus() {}
};

//凶悍状态类
class MonsterStatus_Feroc :public MonsterStatus
{
public:
	virtual void Attacked(int power, Monster* mainobj)
	{
		std::cout << "怪物处于凶悍状态中，对主角进行疯狂反击!" <<std::endl;
		//......
	}
};

//不安状态类
class MonsterStatus_Worr :public MonsterStatus
{
public:
	virtual void Attacked(int power, Monster* mainobj)
	{
		std::cout << "怪物处于不安状态中，对主角进行反击并呼唤支援!" << std::endl;
		//......
	}
};

//恐惧状态类
class MonsterStatus_Fear :public MonsterStatus
{
public:
	virtual void Attacked(int power, Monster* mainobj)
	{
		std::cout << "怪物处于恐惧状态中，处于逃跑之中!" << std::endl;
		//......
	}
};

//死亡状态类
class MonsterStatus_Dead :public MonsterStatus
{
public:
	virtual void Attacked(int power, Monster* mainobj)
	{
		std::cout << "怪物死亡!" << std::endl;
		//......
	}
};


#endif
